Technical Reviews
Source: Handbook of Walkthroughs, Inspections, and Technical
Reviews
by Daniel P. Freedman & Gerald M. Weinberg, 1977
According
to the book, the reasons for technical reviews are to
1) Point out needed improvements in a product of a single person or
team;
2) Confirm those parts of a product in which improvement is either not
desired or not needed;
3) Achieve technical work of more uniform, or at least more
predictable, quality than can be achieved without reviews, in order to make
technical work more manageable.
There
is additional justification related to modern software development
methodologies: to
a) Assure that more than one person has seen each part of the projects
and has a basic understanding of it (this is also one reason for pair
programming);
b) Identify reusable components within a project or across projects
(code reuse is one goal of object-oriented programming);
c) Provide data on common mistakes that can then be used in testing
(the tests can be added to JUnit or SUnit test suites);
d) Locate areas where code or function is duplicated (the current best
practice is to do it once and only once, unless redundancy is specifically
called for).
The
review can take one of several different forms, such as
Walkthrough Inspection
Round-robin review Informal
review
Review
materials can include
Functional specifications Designs
Code Documentation
Test plans Tools and
packages
Training materials and plans Procedures and
standards
Operations and maintenance procedures
Participants
in the reviews are often
Review specialists Other
team or department members
Experts in the subject matter being
reviewed People interested in the product
Visitors/volunteers wanting to
contribute Invited people from
elsewhere in the organization
Management Producer of the
reviewed material
At
least three roles need to be filled during the review: the roles of
Recorder Review
leader
Reviewer
Others
might include
Program writer Reader
The
producer and reviewers can use creative tactics. Tactics include
Playing Devil’s advocate Instituting
stand-up reviews
Bebugging Money
bowl
The alarm Playing the
issues list bloodhound
The
review can result in various reports such as
Summary report Issues list
Related issue report System
history